<?php
	/**
	 * Arquivo: treinprog.inc
	 * @package Default
	 * @sub-package PROGRAMA
	 * @page-level 1
	 */
	ini_set('display_errors','off');
	/**
	 * Classe de Programas
	 * @package Default
	 * @return void
	 */
	class PROGRAMA extends BANCOS
		{
		/**
		 * Identificação do usuário
		 * @access private
		 * @var integer
		 */
		private $id_user;
		/**
		 * Nível de Acesso do usuário
		 * @access private
		 * @var integer
		 */
		private $nivel;
		/**
		 * Níveis de Acesso
		 * @access private
		 * @var integer[]
		 */
		private $niveis;
		/**
		 * Acesso a Classe \FORMATAR
		 * @access private
		 * @var \FORMATAR
		 */
		private $forma;
		/**
		 * Informação da Entidade selecionada
		 * @access private
		 * @var integer
		 */
		private $entidade;
		
		/**
		 * Construtor da Classe PROGRAMA
		 * @param integer $id_user Identificação do usuário
		 * @param integer $nivel Nível de acesso ao sistema do usuário
		 * @param integer $id_ent Entidade selecionada
		 *
		 * @return void
		 */
		public function __construct($id_user, $nivel, $id_ent)
			{
			$this->id_user = substr($id_user,2,strlen($id_user));
			$this->nivel = substr($nivel,2,strlen($nivel));
			$this->niveis = array("Administrador","Escola","Cliente");
			$this->entidade = $id_ent;
			$this->forma = new FORMATAR();
			parent::__construct();
			}
		/**
		 * Destrutor da Classe PROGRAMA
		 *
		 * @return void
		 */
		public function __destruct()
			{
			}
		/**
		 * Lista os programas de uma determinada entidade.
		 *
		 * @return void
		 */
		public function listar()
			{
			$sql = "select programas.id_programa, programas.descricao, programa_entidade.data_validade, programas.aviso, programa_entidade.data_certificacao ";
			$sql .= "from cadastro.programas inner join programa.programa_entidade on programas.id_programa=programa_entidade.id_programa ";
			$sql .= "where programa_entidade.status and programa_entidade.id_entidade=".$this->entidade;
			$this->exec_query($sql);
			if ($this->num_registros > 0)
				{
				echo ("<table summary=\"\">\n");
				echo ("<tr>\n");
				echo ("<th>Programa</th>\n<th>Validade</th>\n");
				echo ("</tr>\n");
				for ($i=0; $i < $this->num_registros; $i++)
					{
					$dados = $this->retorno[1][$i];
					if ($this->forma->Dias($dados[2],date('Y-m-d')) <= $dados[3])
						{
						echo ("<tr class=\"aviso\">\n");
						}
					else 
						{
						echo ("<tr>\n");
						}
					echo ("<td>".$dados[1]."</td>\n");
					echo ("<td>".$this->forma->data_conv($dados[2])."</td>\n");
					echo ("<td><a href=\"#\" onclick=\"javascript:pegar('treinprog/renovar.php?pt=1&acao=1&id_ent=".$this->entidade."&id_programa=".$dados[0]."&data_cert=".$dados[4]."',escrever,'ins_prog','msg');\">Renovar</a></td>\n");
					echo ("</tr>\n");
					}
				echo ("</table>\n");
				}
			else
				{
				echo ($this->msg_sistema);
				}
			}
		/**
		 * Formulário para cadastramento de um novo Programa
		 *
		 * @return void
		 */
		public function novo()
			{
			echo ("<div id=\"container\">\n");
			echo ("  <div id=\"leftSide\">\n");
			echo ("    <fieldset>\n");
			echo ("      <legenda>Cadastro de Programa</legenda>");
			echo ("      <form action=\"treinprog/programa.php\" method=\"GET\" id=\"frm_prog\">\n");
			echo ("        <input type=\"hidden\" name=\"id_ent\" id=\"id_ent\" value=\"".$this->entidade."\"/>\n");
			echo ("        <input type=\"hidden\" name=\"acao\" id=\"acao\" value=\"2\" />\n");
			echo ("        <label for=\"programa\" class=\"interna1\">Programa</label>\n");
			echo ("        <select id=\"programa\" name=\"programa\" onchange=\"javascript:pegar('treinprog/data_prog.php?etapa=1&programa='+document.getElementById('programa').value,escrever,'data_aux','msg');\">\n");
			$sql = "(select id_programa,descricao from cadastro.programas ";
			$sql .= "except select programas.id_programa, programas.descricao from cadastro.programas inner join programa.programa_entidade on programas.id_programa=programa_entidade.id_programa where id_entidade=".$this->entidade.") order by descricao";
			echo ($sql);
			$this->exec_query($sql);
			if ($this->num_registros > 0)
				{
				echo ("        <option value=\"\">---</option>\n");
				for ($i=0; $i < $this->num_registros; $i++)
					{
					$dados = $this->retorno[1][$i];
					echo ("        <option value=\"".$dados[0]."\">".$dados[1]."</option>\n");
					}
				}
			echo ("        </select>\n");
			echo ("        <span id=\"data_aux\"></span>\n");
			echo ("        <input type=\"button\" style=\"width: 100px;\" value=\"Inserir\" onclick=\"javascript:pegarForm_GET('programa_div','frm_prog','msg');\" class=\"botao3\">\n");
			echo ("        <input type=\"button\" style=\"width: 100px;\" value=\"Cancelar\" onclick=\"javascript:pegar('treinprog/programa.php?id_ent=".$this->entidade."',escrever,'programa_div','msg');\" class=\"botao3\">\n");
			echo ("      </form>\n");
			echo ("    </fieldset>\n");
			echo ("  </div>\n");
			echo ("</div>\n");
			}
		/**
		 * Insere na base de dados o novo Programa
		 * @param mixed[] $dados
		 *
		 * @return void
		 */
		public function inserir($dados)
			{
			$sql = "insert into programa.programa_entidade values (".$dados['programa'].",".$this->entidade.",'".$this->forma->data_conv($dados['data_cert'],2)."','".$this->forma->data_conv($dados['data_val'],2)."')";
			if($dados['acao'] == 3)
				{
				$sql .= "; update programa.programa_entidade set status=false where id_entidade=".$this->entidade." and id_programa=".$dados['programa']." and data_certificacao='".$dados['data_cert_ant']."';";
				}
			echo $sql;
			$this->exec_query($sql);
			echo ("<script type=\"text/javascript\" >\n");
			echo ("	<!--\n");
			echo ("		pegar('treinprog/programa.php?id_ent=".$this->entidade."',escrever,'programa_div','msg');\n");
			echo ("	//-->\n");
			echo ("</script>\n");
			}
		/**
		 * Formulário de renovação de Programa
		 * @param mixed[] $dados
		 *
		 * @return void
		 */
		function renovar($dados)
			{
			//print_r($dados);
			echo ("<div id=\"container\">\n");
			echo ("  <div id=\"leftSide\">\n");
			echo ("    <fieldset>\n");
			echo ("      <legenda>Renovação de Programa</legenda>");
			echo ("      <form action=\"treinprog/programa.php\" method=\"GET\" id=\"frm_prog\">\n");
			echo ("        <input type=\"hidden\" name=\"id_ent\" id=\"id_ent\" value=\"".$this->entidade."\"/>\n");
			echo ("        <input type=\"hidden\" name=\"programa\" id=\"programa\" value=\"".$dados['id_programa']."\"/>\n");
			echo ("        <input type=\"hidden\" name=\"data_cert_ant\" id=\"data_cert_ant\" value=\"".$dados['data_cert']."\"/>\n");
			echo ("        <input type=\"hidden\" name=\"acao\" id=\"acao\" value=\"3\" />\n");
			echo ("        <label for=\"programa\" class=\"interna1\">Programa</label>\n");
			$sql = "select descricao from cadastro.programas where id_programa=".$dados['id_programa'];
			//echo ($sql);
			$this->exec_query($sql);
			if ($this->num_registros > 0)
				{
				echo ("        <b>". $this->retorno[1][0][0]."</b>\n");
				}
			echo ("        <span id=\"data_aux\"></span>\n");
			echo ("        <input type=\"button\" style=\"width: 100px;\" value=\"Inserir\" onclick=\"javascript:pegarForm_GET('programa_div','frm_prog','msg');\" class=\"botao3\">\n");
			echo ("        <input type=\"button\" style=\"width: 100px;\" value=\"Cancelar\" onclick=\"javascript:pegar('treinprog/programa.php?id_ent=".$this->entidade."',escrever,'programa_div','msg');\" class=\"botao3\">\n");
			echo ("      </form>\n");
			echo ("    </fieldset>\n");
			echo ("  </div>\n");
			echo ("</div>\n");
			echo ("<script type=\"text/javascript\" >\n");
			echo ("	<!--\n");
			echo ("		pegar('treinprog/data_prog.php?etapa=1&programa=".$dados['id_programa']."',escrever,'data_aux','msg');\n");
			echo ("	//-->\n");
			echo ("</script>\n");
			}
		};//PROGRAMA
	
	/**
	 * Classe de Treinamentos
	 * @package Default
	 * @sub-package TREINAMENTO
	 * @return void
	 */
	class TREINAMENTO extends BANCOS
		{
		/**
		 * Identificação do usuário
		 * @access private
		 * @var integer
		 */
		private $id_user;
		/**
		 * Nível de Acesso do usuário
		 * @access private
		 * @var integer
		 */
		private $nivel;
		/**
		 * Níveis de Acesso
		 * @access private
		 * @var integer[]
		 */
		private $niveis;
		/**
		 * Acesso a Classe \FORMATAR
		 * @access private
		 * @var \FORMATAR
		 */
		private $forma;
		/**
		 * Informação da Entidade selecionada
		 * @access private
		 * @var integer
		 */
		private $entidade;
		/**
		 * Prazo para aviso do sistema
		 * @access private
		 * @var integer
		 */
		private $aviso;
		
		/**
		 * Construtor da Classe TREINAMENTO
		 * @param integer $id_user Identificação do usuário
		 * @param integer $nivel Nível de acesso ao sistema do usuário
		 * @param integer $id_ent Entidade selecionada
		 *
		 * @return void
		 */
		public function __construct($id_user, $nivel,$id_ent)
			{
			$this->id_user = substr($id_user,2,strlen($id_user));
			$this->nivel = substr($nivel,2,strlen($nivel));
			$this->niveis = array("Administrador","Escola","Cliente");
			$this->entidade = $id_ent;
			$this->forma = new FORMATAR();
			parent::__construct();
			$this->exec_query("select validade from configuracao");
			$this->aviso = $this->retorno[1][0][0];
			}
		/**
		 * Destrutor da Classe TREINAMENTO
		 *
		 * @return void
		 */
		public function __destruct()
			{
			}
		/**
		 * Lista os treinamentos de determinado funcionário da entidade selecionada.
		 * @param integer $codigo
		 * @return void
		 */
		public function listar($codigo)
			{
			$sql = "select funcionario.nome, treinamento.descricao, trein_func.data_validade, setor.descricao, funcao.descricao, funcionario.id_fun, treinamento.id_treinamento, trein_func.data_realizacao from ";
			$sql .= "entidade.emp_func inner join cadastro.funcionario on emp_func.id_funcionario=funcionario.id_fun inner join treinamento.trein_func on funcionario.id_fun=trein_func.id_funcionario inner join cadastro.treinamento on trein_func.id_treinamento=treinamento.id_treinamento ";
			$sql .= "inner join cadastro.setor on emp_func.setor=setor.id_setor inner join cadastro.funcao on emp_func.funcao=funcao.id_funcao ";
			$sql .= "where emp_func.id_entidade=".$this->entidade." and emp_func.id_funcionario=".$codigo." and trein_func.status group by funcionario.nome, treinamento.descricao, trein_func.data_validade, setor.descricao, funcao.descricao, funcionario.id_fun, treinamento.id_treinamento, trein_func.data_realizacao";
			//echo ($sql);
			$this->exec_query($sql);
			if ($this->num_registros > 0)
				{
				echo ("<table summary=\"\">\n");
				echo ("<tr>\n");
				echo ("<th>Funcionário</th>\n<th>Setor</th>\n<th>Função</th>\n<th>Treinamento</th>\n<th>Validade</th>\n");
				echo ("</tr>\n");
				for ($i=0; $i < $this->num_registros; $i++)
					{
					$dados = $this->retorno[1][$i];
					if ($this->forma->Dias($dados[2],date('Y-m-d')) <= $this->aviso)
						{
						echo ("<tr class=\"aviso\">\n");
						}
					else 
						{
						echo ("<tr>\n");
						}
					echo ("<td>".$dados[0]."</td>\n");
					echo ("<td>".$dados[3]."</td>\n");
					echo ("<td>".$dados[4]."</td>\n");					
					echo ("<td>".$dados[1]."</td>\n");
					echo ("<td>".$this->forma->data_conv($dados[2])."</td>\n");
					echo ("<td><a href=\"#\" onclick=\"javascript:pegar('treinprog/renovar.php?pt=2&acao=1&id_ent=".$this->entidade."&id_funcionario=".$dados[5]."&id_treinamento=".$dados[6]."&data_cert=".$dados[7]."',escrever,'ins_trei','msg');\">Renovar</a></td>\n");
					echo ("</tr>\n");
					}
				echo ("</table>\n");
				}
			else
				{
				echo ($this->msg_sistema);
				}
			}
		/**
		 * Formulário de cadastramento de treinamento para determinado funcionário.
		 * @param integer $codigo
		 * @return void
		 */
		public function novo($codigo)
			{
			echo ("<div id=\"container\">\n");
			echo ("  <div id=\"leftSide\">\n");
			echo ("    <fieldset>\n");
			echo ("      <legenda>Cadastro de Treinamento</legenda>");
			echo ("      <form action=\"treinprog/treinamento.php\" method=\"GET\" id=\"frm_trein\">\n");
			echo ("        <input type=\"hidden\" name=\"id_ent\" id=\"id_ent\" value=\"".$this->entidade."\"/>\n");
			echo ("        <input type=\"hidden\" name=\"acao\" id=\"acao\" value=\"2\" />\n");
			echo ("        <label for=\"funcionario\" class=\"interna1\">Funcionário</label>\n");
			echo ("        <select id=\"funcionario\" name=\"funcionario\" onchange=\"javascript:pegar('treinprog/treinar.php?etapa=1&funcionario='+document.getElementById('funcionario').value+'&entidade=".$this->entidade."',escrever,'trein_aux','msg');\">\n");
			$sql = "select funcionario.id_fun, funcionario.nome from cadastro.funcionario inner join entidade.emp_func on funcionario.id_fun=emp_func.id_funcionario where emp_func.id_entidade=".$this->entidade." and data_opcao is null";
			//echo ($sql);
			$this->exec_query($sql);
			if ($this->num_registros > 0)
				{
				echo ("        <option value=\"\">---</option>\n");
				for ($i=0; $i < $this->num_registros; $i++)
					{
					$dados = $this->retorno[1][$i];
					if ($dados[0] == $codigo)
						{
						echo ("        <option value=\"".$dados[0]."\" selected>".$dados[1]."</option>\n");
						}
					else 
						{
						echo ("        <option value=\"".$dados[0]."\">".$dados[1]."</option>\n");
						}
					}
				}
			echo ("        </select>\n<br/>");
			echo ("        <div id=\"trein_aux\"></div>\n");
			echo ("        <input type=\"button\" style=\"width: 100px;\" value=\"Inserir\" onclick=\"javascript:pegarForm_GET('treinamento_div','frm_trein','msg');\" class=\"botao3\">\n");
			echo ("        <input type=\"button\" style=\"width: 100px;\" value=\"Cancelar\" onclick=\"javascript:pegar('treinprog/treinamento.php?id_ent=".$this->entidade."',escrever,'treinamento_div','msg');\" class=\"botao3\">\n");
			echo ("      </form>\n");
			echo ("    </fieldset>\n");
			echo ("  </div>\n");
			echo ("</div>\n");
			echo ("<script type=\"text/javascript\" >\n");
			echo ("	<!--\n");
			echo ("		pegar('treinprog/treinar.php?etapa=1&funcionario='+document.getElementById('funcionario').value+'&entidade=".$this->entidade."',escrever,'trein_aux','msg');\n");
			echo ("	//-->\n");
			echo ("</script>\n");
			}
		/**
		 * Insere os treinamentos na base de dados.
		 * @param mixed[] $dados
		 * @return void
		 */
		public function inserir($dados)
			{
			$sql1 = "";
			for ($i=0; $i < count($dados['treinamento']); $i++)
				{
				if (!strcmp($dados['treinamento'][$i],"---"))
					{
					break;
					}
				$sql1 .= "insert into treinamento.trein_func (id_treinamento,id_funcionario,data_realizacao,data_validade,instituicao) values (".$dados['treinamento'][$i].",".$dados['funcionario'].",'".$this->forma->data_conv($dados['data_cert'][$i],2)."','".$this->forma->data_conv($dados['data_val'][$i],2)."',".$dados['instituicao'][$i]."); ";
				if ($dados['acao'] == 3)
					{
					$sql1 .= " update treinamento.trein_func set status=false where id_funcionario=".$dados['funcionario']." and id_treinamento=".$dados['treinamento'][$i]." and data_realizacao='".$dados['data_cert_ant']."';";
					}
				}
			//echo ($sql1."</br>\n");
			$this->exec_query($sql1);
			$sql2 = "";
			for ($i=0; $i < count($dados['treinamento']); $i++)
				{
				if (!strcmp($dados['treinamento'][$i],"---"))
					{
					break;
					}
				$sql2 .= "delete from sugestoes where entidade=".$dados['id_ent']." and funcionario=".$dados['funcionario']." and treinamento=".$dados['treinamento'][$i]."; "; 
				}
			//echo ($sql2."</br>\n");
			$this->exec_query($sql2);
			echo ("<script type=\"text/javascript\" >\n");
			echo ("	<!--\n");
			echo ("		pegar('treinprog/treinamento.php?id_ent=".$this->entidade."&funcionario=".$dados['funcionario']."',escrever,'treinamento_div','msg');\n");
			echo ("	//-->\n");
			echo ("</script>\n");
			}
		/**
		 * Formulário de renovação de treinamento de determinado funcionário.
		 * @param integer $codigo
		 * @return void
		 */
		public function renovar($codigo)
			{
			echo ("<div id=\"container\">\n");
			echo ("  <div id=\"leftSide\">\n");
			echo ("    <fieldset>\n");
			echo ("      <legenda>Renovação de Treinamento</legenda>");
			echo ("      <form action=\"treinprog/treinamento.php\" method=\"GET\" id=\"frm_trein\">\n");
			echo ("        <input type=\"hidden\" name=\"id_ent\" id=\"id_ent\" value=\"".$this->entidade."\"/>\n");
			echo ("        <input type=\"hidden\" name=\"funcionario\" id=\"funcionario\" value=\"".$codigo['id_funcionario']."\"/>\n");
			echo ("        <input type=\"hidden\" name=\"data_cert_ant\" id=\"data_cert_ant\" value=\"".$codigo['data_cert']."\"/>\n");
			echo ("        <input type=\"hidden\" name=\"acao\" id=\"acao\" value=\"3\" />\n");
			echo ("        <label for=\"funcionario\" class=\"interna1\">Funcionário</label>\n");
			$sql = "select nome from cadastro.funcionario  where id_fun=".$codigo['id_funcionario'];
			//echo ($sql);
			$this->exec_query($sql);
			if ($this->num_registros > 0)
				{
				echo ("<b>".$this->retorno[1][0][0]."</b>\n");
				}
			echo ("        </select>\n<br/>");
			echo ("        <div id=\"trein_aux\"></div>\n");
			echo ("        <input type=\"button\" style=\"width: 100px;\" value=\"Inserir\" onclick=\"javascript:pegarForm_GET('treinamento_div','frm_trein','msg');\" class=\"botao3\">\n");
			echo ("        <input type=\"button\" style=\"width: 100px;\" value=\"Cancelar\" onclick=\"javascript:pegar('treinprog/treinamento.php?id_ent=".$this->entidade."',escrever,'treinamento_div','msg');\" class=\"botao3\">\n");
			echo ("      </form>\n");
			echo ("    </fieldset>\n");
			echo ("  </div>\n");
			echo ("</div>\n");
			echo ("<script type=\"text/javascript\" >\n");
			echo ("	<!--\n");
			echo ("		pegar('treinprog/treinar.php?etapa=3&funcionario=".$codigo['id_funcionario']."&entidade=".$this->entidade."&id_treinamento=".$codigo['id_treinamento']."',escrever,'trein_aux','msg');\n");
			echo ("	//-->\n");
			echo ("</script>\n");
			}
		};//TREINAMENTO
		
	/**
	 * Lista os treinamentos disponíveis.
	 * @param integer $aux
	 * @param integer $id
	 * @return void
	 */
	function treinamentos($aux,$id=0)
		{
		$link = new BANCOS();
		$sql = "select * from cadastro.treinamento order by descricao";
		echo ("<label for=\"treinamento[".$aux."]\" class=\"interna1\">Treinamento</label>\n");
		echo ("<select name=\"treinamento[".$aux."]\" id=\"treinamento[".$aux."]\"  >\n");
		echo ("<option> --- </option>\n");
		$link->exec_query($sql);
		for ($i=0; $i < $link->num_registros; $i++)
			{
			$dados = $link->retorno[1][$i];
			if ($id == $dados[0])
				{
				echo ("<option value=\"".$dados[0]."\" selected>".$dados[1]."</option>\n");
				}
			else 
				{
				echo ("<option value=\"".$dados[0]."\">".$dados[1]."</option>\n");
				}
			}
		echo ("</select>\n");
		}
	/**
	 * Lista as instituições de treinamento cadastradas
	 * @param integer $aux
	 * @return void
	 */
	function instituicoes($aux)
		{
		$link = new BANCOS();
		$sql = "select * from cadastro.instituicao order by nome";
		echo ("<span id=\"inst_cad\"><label for=\"instituicao[".$aux."]\" class=\"interna1\">Instituição</label>\n");
		echo ("<select name=\"instituicao[".$aux."]\" id=\"instituicao[".$aux."]\"  >\n");
		echo ("<option> --- </option>\n");
		$link->exec_query($sql);
		for ($i=0; $i < $link->num_registros; $i++)
			{
			$dados = $link->retorno[1][$i];
			echo ("<option value=\"".$dados[0]."\">".$dados[1]."</option>\n");
			}
		echo ("</select><input type=\"button\" value=\"...\" style=\"width:25px;\" onclick=\"javascript:pegar('treinprog/instituicao.php?op=1&i=".$aux."',escrever,'inst_cad','msg');\" /></span>\n");
		}	
?>